﻿using AutoMapper;
using QuanLyGiaoVuDAL.DTO;
using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.Linq;
using System.Web;

namespace QuanLyGiaoVuUI.Models.MonHoc
{
    public class CapNhatMonHocViewModel
    {
        public System.Guid ID { get; set; }

        [Display(Name = "Mã môn học")]
        [Required(ErrorMessage="Chưa nhập mã môn học.")]
        public string MaMonHoc { get; set; }

        [Display(Name = "Tên môn học")]
        [Required(ErrorMessage="Chưa nhập Tên môn học.")]
        public string TenMonHoc { get; set; }

        [Display(Name = "Tổng số tín chỉ")]
        [Required(ErrorMessage="Chưa nhập Tổng số tín chỉ của môn.")]
        public short TongSoTinChi { get; set; }

        [Display(Name = "Số tín chỉ lý thuyết")]
        [Required(ErrorMessage="Chưa nhập Số tín chỉ lý thuyết")]
        public short SoTinChiLyThuyet { get; set; }

        [Display(Name="Học kỳ thứ")]
        public short HocKy { get; set; }

        [Display(Name = "Môn tự chọn")]
        public bool MonTuChon { get; set; }

        [Display(Name="Môn chính")]
        public System.Nullable<System.Guid> MaMonChinh { get; set; }

        public IEnumerable<MonHocDTO> DanhSachMonHocChinh { get; set; }

        public MonHocDTO ToMonHocDTO()
        {
            Mapper.CreateMap(typeof(CapNhatMonHocViewModel), typeof(MonHocDTO));
            MonHocDTO monhocDTO = new MonHocDTO();
            Mapper.Map(this, monhocDTO);
            return monhocDTO;
        }

        public CapNhatMonHocViewModel FromMonHocDTO(MonHocDTO monhocDTO)
        {
            Mapper.CreateMap(typeof(MonHocDTO),typeof(CapNhatMonHocViewModel));
            CapNhatMonHocViewModel viewModel = new CapNhatMonHocViewModel();
            Mapper.Map(monhocDTO, viewModel);
            return viewModel;
 
        }
    }
}